package com.ds.extend.aop;

import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class LoginConfig implements WebMvcConfigurer {
	
//	@Bean
//	public CookieSerializer httpSessionIdResolver() {
//		DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
//		cookieSerializer.setUseHttpOnlyCookie(false);
//		cookieSerializer.setSameSite(null);
//		cookieSerializer.setCookiePath("/");
//		cookieSerializer.setUseSecureCookie(true);
//		System.out.println("CookieSerializer init");
//		return cookieSerializer;
//	}
   
   @Override
   public void addInterceptors(InterceptorRegistry registry) {
       //注册TestInterceptor拦截器
       InterceptorRegistration registration = registry.addInterceptor(new LogcostInterceptor());
       registration.addPathPatterns("/**");                      //所有路径都被拦截
       registration.excludePathPatterns(                         //添加不拦截路径
                                        "你的登陆路径",            //登录
                                        "/**/*.html",            //html静态资源
                                        "/**/*.js",              //js静态资源
                                        "/**/*.css",             //css静态资源
                                        "/**/*.woff",
                                        "/**/*.ttf"
                                        );    
   }
   
   @SuppressWarnings({ "rawtypes", "unchecked" })
   @Bean
   public FilterRegistrationBean ssoFilterRegistration() {
	FilterRegistrationBean registration = new FilterRegistrationBean();
       registration.setName("myCorsFilter");
       registration.addUrlPatterns("/*");
       registration.setFilter(new CorsFilter());
       return registration;
   }
}
